В этой статье я расскажу про, пожалуй, самый популярный протокол передачи данных, используемый в сфере Интернета вещей, — MQTT. А если конкретнее, то про MQTT Version 5.0 (версия, опубликованная 7 марта 2019 года). А если еще конкретнее, — про приятные нововведения версии 5.0 по сравнению с версией 3.1.1.
Кстати, а почему v5.0? Куда делась версия v4.0?
Коренная причина лежит в заголовке пакета CONNECT. Версия протокола или, если быть более точным, уровень версии протокола устанавливается в байте 7.
“The 8-bit unsigned value that represents the revision level of the protocol used by the Client. The value of the Protocol Level field for the version 3.1.1 of the protocol is 4 (0x04).”
Уровень протокола v3.1 определяется как 3, а v3.1.1 — 4. Следовательно, следующий уровень протокола — 5. Чтобы избежать несоответствия, группа спецификации согласилась назвать следующую версию MQTTv5.0:
“The value of the Protocol